Package Pricing Events Lifecycle Guide
This brief guide describes a representative, sample lifecycle for package pricing events. Packages bundle financial products together, and banks can setup specific pricing and benefits for such packages. While not all possible events are explored, this guide will give you a good overview on both outgoing events and some of the incoming events involved in package pricing.
Note: Design time APIs are not covered by this guide.
Outgoing Events
The outgoing events are TEP (Temenos Enterprise Pricing) response events from packages. TEP performs pricing evaluation for package arrangement and pass a detailed outward response. The following are the outgoing event types supported by packages.
Event Type |
Description |
Activity Pricing |
Responds to all activity-based package pricing. |
Periodic Pricing |
Responds to all scheduled charges defined in package pricing. |
Lifecycle Diagram
Legend
The API URL that's used to carry out this business process. |
|
API request (typically, a command to perform an operation). |
|
The event type that's emanated. | |
Business event emanating after the process is completed by the system. | |
Business process in the system. | |
Completion of the business process in the system. |
Tip: Click diagram to expand.
Activity Pricing
An activity pricing event is an outgoing event from TEP that communicates the details of an activity charges evaluation. The user can define the event name in an activity and charges based on the activity. This indicates that a fee could be charged for any event name. The outgoing event contains information on the original and final charge, after application of pricing benefits.
API
The API that is used to evaluate activity charges.
POST /enterprise/pricing/arrangements/{basereference}/activityCharges
Event
The event that's emanated at activity charges evaluation.
enterprise.calculateActivityPricing.activityPricingCalculated
Event Payload
contractReference |
Indicates the account Id in which the event is raised. |
eventName |
Indicates the name of the event that was used for processing by the TEP system. |
baseEventIdentifier |
Indicates the name of the event happening in the core system. TEP uses this detail for information purpose and returns the same in the outbox events for adapters to match up. |
effectiveDate |
Indicates the event date. |
bookingDate |
Indicates the date on which this business activity is performed in the underlying system. |
channel |
Indicates the channel in which the activity was performed. |
branch |
Indicates the branch name or code in which the business activity was performed. |
lineOfBusiness |
Indicates the line of business in which the activity was performed. |
systemReference |
Identifies the system to which the event is outgoing. |
companyReference |
Identifies the underlying entity, company, or branch. |
transactionReference |
Indicates the identifier of the original transaction reference. This is the transaction reference provided by the core banking system, through the incoming message, which is also included in the outgoing (from the TEP) response, so that the core can reconcile. |
chargeCurrency |
Indicates the identifier for the currency in which charge is calculated. |
processingReference |
Indicates the TEP reference used to process this pricing calculation. This detail is for information purpose to relate back to the computation or query from core systems or front office. |
feeName |
Name of the fee that's applied to the transaction reference. |
feeDescription |
Describes the fee that's applied to the transaction reference. |
originalFee |
Indicates the standard fee amount applied before pricing evaluation. |
feeAdjusted |
Total signed adjustment amount. |
finalFee |
Final fee after pricing evaluation. |
feeType |
Indicates if the fee is a debit or credit type of charge. A debit charge indicates the fee that is due from the customer. A credit indicates the fee is to be given to the customer, that is cash back. |
feeApplicationType |
Indicates whether the fee is to be made due, paid, or capitalised. |
benefitType |
Indicates the identifier for the name of the benefit(s) passed on to the customer or party. |
benefitProgram |
Indicates the pricing program under which benefit is offered. |
benefitAmount |
Indicates the quantum of benefit for a given benefit type. |
activityName |
Indicates the activity which was used by TEP to arrive at the fee calculation. |
- Sample Code: Activity Pricing Event
-
{ "specversion": "BBBBBBB", "type": "AAAAAAAAA", "subject": "DDDDDDDD", "source": "eeeee", "id": "bbbbbbb", "time": "BBBBB", "correlationid": "cccccc", "serviceid": "ee", "channelid": "cc", "organizationid": "bbbbbbbb", "tenantid": "cccccc", "businesskey": "DDDDDDDDD", "sequenceno": 1, "authorization": "ccccccccc", "customfilterid": "eee", "operationinstanceid": "ccc", "sequenceinstanceid": "e", "priority": 1, "data": { "chargeCurrency": "DDDDDD", "processingReference": "CCCC", "activityName": "ee", "baseContractDetails": [ { "contractReference": "DDDDDD", "systemReference": "CCCC", "companyReference": "BBBBB", "eventName": "", "baseEventIdentifier": "b", "effectiveDate": "ddddddddd", "bookingDate": "EEEE", "contractCurrency": "AAAAAA", "channel": "BBBBBBBB", "branch": "eeeeee", "lineOfBusiness": "CCCCCCCC", "transactionReference": "ddddd", "reversalIndicator": false, "variation": "", "party": [ { "party": "DDDDDDD", "partyRole": "", } ], "eligibility": [ { "variation": "cccccccc", "actionContext": "A", "failureType": "A", } ], "eligibilityRule": [ { "ruleName": "cccccccc", "customerRole": "AAAA", "roleRuleName": "BBBBB", "failureAction": "CCCCC", } ] } , "feeProcessDetails": {[ { "feeName": "eeeeeeeee", "feeDescription": "CCCCC", "originalFee": "cccccccc", "feeAdjusted": "AAAA", "finalFee": "BBBBB", "feeType": "CCCCC", "feeApplicationType": "CCCCC", "benefitDetails": [ { "benefitProgram": "cccccccc", "benefitType": "AAAA", "benefitAmount": "BBBBB", } ], "individualFeeDetails": [ { "baseFeeName": "cccccccc", "baseFeeDescription": "AAAA", "baseFeeAmount": "BBBBB", "baseFeeAdjustment": "cccccccc", "baseFeeNetAmount": "AAAA", } ] } ], } } }
Periodic Pricing
A periodic pricing event is an outgoing event from TEP to communicate the details of scheduled charge evaluation for a package arrangement. The outgoing event contains information on the original and final charge, after application of pricing benefits.
API
The API that's used to evaluate periodic charges.
POST/ enterprise/pricing/arrangements/{basereference}/periodicCharges
Event
The event that's emanated at periodic charges evaluation.
enterprise.calculatePeriodicPricing.periodicPricingCalculated
Event Payload
contractReference |
Unique identifier for the contract or account in which the event is raised. |
eventName |
Name of the event that was used for processing by the TEP system. |
baseEventIdentifier |
Name of the event happening in the core system. TEP uses this detail for information purpose and returns the same in the outbox events for adapters to match up. |
effectiveDate |
Effective date for the event. |
bookingDate |
Date on which this business activity is performed in the underlying system. |
channel |
Channel in which the activity was performed. If pricing is not determined based on channel, then this information is not significant. |
branch |
Indicates the branch name or code in which the business activity was performed. If pricing is not determined based on the branch, this information is not significant. |
lineOfBusiness |
Line of business in which the activity was performed. If pricing is not determined based on LOB, this information is not significant. |
systemReference |
Indicates the identifier of the system to which the event is outgoing. |
companyReference |
Indicates the identifier of the underlying entity, company, or branch. |
transactionReference |
Identifies the transaction. |
periodStartDate |
Date which the system used as the start date for computing the period. |
chargeCurrency |
Indicates the identifier for the currency in which charge is calculated. |
feeName |
Name of the underlying fee(s). |
feeDescription |
Describes the underlying fee(s). |
originalFee |
Standard fee amount applied before pricing evaluation. |
feeAdjusted |
Total signed adjustment amount. |
finalFee |
Final debit or credit fee. Minus ( - ) sign represents a debit charge or fees recoverable from the party. No sign represents a credit charge, cost or bonus payable to the party. |
feeType |
Indicates whether it's a debit or credit type charge. |
feeApplicationType |
Indicates whether the fee is to be made due, paid, or capitalised. |
benefitType |
Indicates the identifier for the name of the benefit(s) passed on to the customer or party. For example, southern region, account package, mobile channel, and so on. |
benefitProgram |
Pricing program under which the benefit is offered. |
benefitAmount |
Indicates the quantum of benefit for a given benefit type. |
baseFeeName |
Identifies the itemised charge. |
baseFeeDescription |
Describes the itemised charge. |
baseFeeAmount |
Computed original base fee amount. |
baseFeeAdjustment |
Total signed adjustment amount. |
baseFeeNetAmount |
Indicates the final base fee amount after including the adjustment. |
- Sample Code: Periodic Pricing Event
-
{ "specversion": "BBBBBBB", "type": "AAAAAAAAA", "subject": "DDDDDDDD", "source": "eeeee", "id": "bbbbbbb", "time": "BBBBB", "correlationid": "cccccc", "serviceid": "ee", "channelid": "cc", "organizationid": "bbbbbbbb", "tenantid": "cccccc", "businesskey": "DDDDDDDDD", "sequenceno": 1, "authorization": "ccccccccc", "customfilterid": "eee", "operationinstanceid": "ccc", "sequenceinstanceid": "e", "priority": 1, "data": { "periodStartDate": "CCCC", "chargeCurrency": "DDDDDD", "baseContractDetails": [ { "contractReference": "DDDDDD", "systemReference": "CCCC", "companyReference": "BBBBB", "eventName": "", "baseEventIdentifier": "b", "effectiveDate": "ddddddddd", "bookingDate": "EEEE", "contractCurrency": "AAAAAA", "channel": "BBBBBBBB", "branch": "eeeeee", "lineOfBusiness": "CCCCCCCC", "transactionReference": "ddddd", "reversalIndicator": false, "variation": "", "party": [ { "party": "DDDDDDD", "partyRole": "", } ], "eligibility": [ { "variation": "cccccccc", "actionContext": "A", "failureType": "A", } ], "eligibilityRule": [ { "ruleName": "cccccccc", "customerRole": "AAAA", "roleRuleName": "BBBBB", "failureAction": "CCCCC", } ] } , "feeProcessDetails": {[ { "feeName": "eeeeeeeee", "feeDescription": "CCCCC", "originalFee": "cccccccc", "feeAdjusted": "AAAA", "finalFee": "BBBBB", "feeType": "CCCCC", "feeApplicationType": "CCCCC", "benefitDetails": [ { "benefitProgram": "cccccccc", "benefitType": "AAAA", "benefitAmount": "BBBBB", } ], "individualFeeDetails": [ { "baseFeeName": "cccccccc", "baseFeeDescription": "AAAA", "baseFeeAmount": "BBBBB", "baseFeeAdjustment": "cccccccc", "baseFeeNetAmount": "AAAA", } ] } ], } } }
Incoming Events
The following are the incoming API and the event types supported by TEP.
Incoming APIs
Event Type | Description | Processing API |
Create Package Arrangement | New package arrangement created in TEP. | POST/enterprise/pricing/arrangements/packages |
Amend Package Arrangement | Amend a package arrangement in TEP. | PUT/enterprise/pricing/arrangements/packages/{packageReference} |
Delete Package Arrangement | Delete a package arrangement in TEP. | DELETE/ enterprise/pricing/arrangements/packages/{packageReference} |
Incoming Event Payload
Event Payload
lineOfBusiness |
Line of business in which the activity was performed. If pricing is not determined based on LOB, this information is not significant. |
transactionReference |
Identifies the transaction. |
reversalIndicator |
Indicates whether the underlying transaction is reversed and the same can be reversed from the TEP system as well. |
packageproductName |
Identifies the associated package product. |
party |
Identifies the party or customer. |
partyRole |
Identifies the role played by the party or customer in the account. |
baseProductName |
Identifies the base product. |
baseCurrency |
Identifies the currency used in the base product. |
- Sample Code: Package Pricing Incoming Event Payload
-
{ "baseDetails": { "systemReference": "string", "companyReference": "string", "baseEventIdentifier": "string", "effectiveDate": "string", "currency": "string", "channel": "string", "branch": "string", "lineOfBusiness": "string", "transactionReference": "string", "reversalIndicator": true }, "packageProductName": "string", "party": [ { "partyReference": "string", "partyRole": "string" } ], "packageDetails": [ { "baseProductName": "string", "baseCurrency": "string", "baseReferenceId": "string", "baseSystemReference": "string", "primary": true } ] }